140 research outputs found

    On Asynchrony and Choreographies

    Get PDF
    Choreographic Programming is a paradigm for the development of concurrent software, where deadlocks are prevented syntactically. However, choreography languages are typically synchronous, whereas many real-world systems have asynchronous communications. Previous attempts at enriching choreographies with asynchrony rely on ad-hoc constructions, whose adequacy is only argued informally. In this work, we formalise the properties that an asynchronous semantics for choreographies should have: messages can be sent without the intended receiver being ready, and all sent messages are eventually received. We explore how out-of-order execution, used in choreographies for modelling concurrency, can be exploited to endow choreographies with an asynchronous semantics. Our approach satisfies the properties we identified. We show how our development yields a pleasant correspondence with FIFO-based asynchronous messaging, modelled in a process calculus, and discuss how it can be adopted in more complex choreography models.Comment: In Proceedings ICE 2017, arXiv:1711.1070

    Communications in Choreographies, Revisited

    Full text link
    Choreographic Programming is a paradigm for developing correct-by-construction concurrent programs, by writing high-level descriptions of the desired communications and then synthesising process implementations automatically. So far, choreographic programming has been explored in the monadic setting: interaction terms express point-to-point communications of a single value. However, real-world systems often rely on interactions of polyadic nature, where multiple values are communicated among two or more parties, like multicast, scatter-gather, and atomic exchanges. We introduce a new model for choreographic programming equipped with a primitive for grouped interactions that subsumes all the above scenarios. Intuitively, grouped interactions can be thought of as being carried out as one single interaction. In practice, they are implemented by processes that carry them out in a concurrent fashion. After formalising the intuitive semantics of grouped interactions, we prove that choreographic programs and their implementations are correct and deadlock-free by construction

    Hypothetical answers to continuous queries over data streams

    Full text link
    Continuous queries over data streams may suffer from blocking operations and/or unbound wait, which may delay answers until some relevant input arrives through the data stream. These delays may turn answers, when they arrive, obsolete to users who sometimes have to make decisions with no help whatsoever. Therefore, it can be useful to provide hypothetical answers - "given the current information, it is possible that X will become true at time t" - instead of no information at all. In this paper we present a semantics for queries and corresponding answers that covers such hypothetical answers, together with an online algorithm for updating the set of facts that are consistent with the currently available information

    Sorting Networks: the End Game

    Full text link
    This paper studies properties of the back end of a sorting network and illustrates the utility of these in the search for networks of optimal size or depth. All previous works focus on properties of the front end of networks and on how to apply these to break symmetries in the search. The new properties help shed understanding on how sorting networks sort and speed-up solvers for both optimal size and depth by an order of magnitude

    Impact of the Sovereign Debt Crisis on the Determinants of the Capital Structure in Real Estate and Construction Related Firms - Evidence from Portugal

    Get PDF
    Portugal was one of the most affected countries by the sovereign debt crisis, whose impact was felt mostly in the peripheral European countries, being one of the reasons for the development of this topic. We have focused on only one industry, being the real estate and construction related firms, because there are few studies that make an exhaustive study on industries. Additionally, this industry in particular, is very pro-cyclical, in the sense that depends a lot on the existence of good economic conditions to gather construction contracts as well as public investment. The purpose of this dissertation is to understand if the sovereign debt crisis had an impact over the capital structure of the companies and on the firm-specific variables. There are some theories that try to explain how companies decide about their capital structure that alongside with the support of empirical studies were used in the formulation of several hypotheses.An unbalanced panel of 404 firms, whose information was gathered from the database SABI Bureau Van Dijk, was used in the econometric estimations. We have estimated two main models for four different dependent variables, namely debt ratios, because we wanted to assess how different maturities of debt were affected by the crisis. In the end, we provide evidence of a reduction in the debt ratios during the period of crisis, which may be a sign that a credit shortage occurred, at least for this industry. This event could have been caused by the huge distress banks were experiencing as well as all the austerity measures implemented during those years, due to the bailout applied in Portugal by TROIKA. However, the robustness tests demonstrated that this evidence was relatively weak. We also have found some interesting results relative to the determinants of the literature included in the models

    Connectors meet Choreographies

    Get PDF
    We present Cho-Reo-graphies (CR), a new language model that unites two powerful programming paradigms for concurrent software based on communicating processes: Choreographic Programming and Exogenous Coordination. In CR, programmers specify the desired communications among processes using a choreography, and define how communications should be concretely animated by connectors given as constraint automata (e.g., synchronous barriers and asynchronous multi-casts). CR is the first choreography calculus where different communication semantics (determined by connectors) can be freely mixed; since connectors are user-defined, CR also supports many communication semantics that were previously unavailable for choreographies. We develop a static analysis that guarantees that a choreography in CR and its user-defined connectors are compatible, define a compiler from choreographies to a process calculus based on connectors, and prove that compatibility guarantees deadlock-freedom of the compiled process implementations
    • ā€¦
    corecore